package bean;

import java.util.Iterator;

import javax.faces.application.FacesMessage;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.RequestScoped;
import javax.faces.context.FacesContext;
import javax.faces.event.ValueChangeEvent;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.text.SimpleDateFormat;
import java.util.Collection;
import java.util.Date;
import java.util.LinkedHashMap;
import java.util.Map;

import org.primefaces.event.DateSelectEvent;

import Controlador.*;
import Modelo.*;

@ManagedBean(name="Filtro")
@RequestScoped
public class Filtro {
	
private String numeroEstudiantes;

private String software;
private int hora;
private Date fechaReserva;
private int Inihora;
private String Iniminuto;
private int Finhora;
private String Finminuto;

private int Id_Software;
private String Nombre_Software;

private static Map<String, String> valori;
private String list; 


public int getId_Software() {
	return Id_Software;
}
public void setId_Software(int id_Software) {
	Id_Software = id_Software;
}
public String getNombre_Software() {
	return Nombre_Software;
}
public void setNombre_Software(String nombre_Software) {
	Nombre_Software = nombre_Software;
}
public static Map<String, String> getValori() {
	return valori;
}
public static void setValori(Map<String, String> valori) {
	Filtro.valori = valori;
}
public String getList() {
	return list;
}
public void setList(String list) {
	this.list = list;
}
public String getnumeroEstudiantes() {
	return numeroEstudiantes;
}
public void setnumeroEstudiantes(String numeroestudiantes) {
	numeroEstudiantes = numeroestudiantes;
}
public String getSoftware() {
	return software;
}
public void setSoftware(String software) {
	this.software = software;
}

public int getHora() {
	return hora;
}
public void setHora(int hora) {
	this.hora = hora;
}
public Date getFechaReserva() {
	return fechaReserva;
}
public void setFechaReserva(Date fechaReserva) {
	this.fechaReserva = fechaReserva;
}
public int getInihora() {
	return Inihora;
}
public void setInihora(int inihora) {
	Inihora = inihora;
}
public String getIniminuto() {
	return Iniminuto;
}
public void setIniminuto(String iniminuto) {
	Iniminuto = iniminuto;
}
public int getFinhora() {
	return Finhora;
}
public void setFinhora(int finhora) {
	Finhora = finhora;
}
public String getFinminuto() {
	return Finminuto;
}
public void setFinminuto(String finminuto) {
	Finminuto = finminuto;
}
//--------------------------------------------
static {
	
	FiltroControlador p = new FiltroControlador();
	
	
	Collection c = p.desplegarSoftware();
    valori = new LinkedHashMap<String,String>();
    
    for (Iterator i = c.iterator(); i.hasNext();) {
    	Software a = (Software) i.next();
        valori.put(a.getNombresoftware(), a.getIdsoftware()+"");
    }

}
  public  LinkedHashMap<Integer,String> convierteSoftware(Collection c){
  	  
        LinkedHashMap<Integer,String> lista = new LinkedHashMap<Integer,String>();
        
        for (Iterator i = c.iterator(); i.hasNext();) {
            Filtro a = (Filtro) i.next();
            lista.put( a.getId_Software(),a.getNombre_Software() +"");
        }
        return lista;
    }

    public Map<String,String> getContryInMap() {
    	return this.valori;
    }
    
    public void countryLocaleCodeChanged(ValueChangeEvent e){
    	//assign new value to localeCode
    	list = e.getNewValue().toString();
    }
    
    
    public String enviar (){
    	
    	
    	FiltroControlador in = new FiltroControlador();
    
    	in.soft(numeroEstudiantes, Finhora, Nombre_Software, Finminuto, fechaReserva, hora);
    	
        return "OK";


    }

}

